// 版权归 Epic Games, Inc. 所有。保留所有权利。

#pragma once

#include "GameplayTagContainer.h"
#include "PhysicalMaterials/PhysicalMaterial.h"

#include "PhysicalMaterialWithTags.generated.h"

class UObject;

/**
 * UPhysicalMaterialWithTags
 *
 * 一个带有标签的物理材质，扩展了基础物理材质的功能
 */
UCLASS()
class UPhysicalMaterialWithTags : public UPhysicalMaterial
{
	GENERATED_BODY()

public:
	/**
	 * 构造函数
	 *
	 * @param ObjectInitializer 对象初始化器
	 */
	UPhysicalMaterialWithTags(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());

	// 游戏代码可以使用此游戏标签容器来推理此物理材质
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=PhysicalProperties)
	FGameplayTagContainer Tags; // 包含游戏标签的容器
};